Profile management systems

ABSTRACT

Systems and methods for profile management on a network are disclosed. A profile management system for first and second servers on the network may include a profile manager configured to manage a first profile that uniquely identifies the first server on the network; and an administrator configured to issue a command to the profile manager instructing the profile manager to migrate the first profile such that the first profile is no longer associated with the first server, and such that the first profile uniquely identifies the second server on the network, wherein at least one of the first and second servers is a conjoined server.

BACKGROUND

Networks may include multiple computers (e.g., servers). In somenetworks, a first server may be designated as a primary server and asecond server may be designated as a backup server. If the first serversuffers from a technical problem that precludes it from operatingproperly, the backup server may perform the duties of the first server.Similarly, in some networks, a first server may be designated as aprimary server and a second server may be designated as an upgradeserver. The first and second servers may be any suitable type(s) ofservers. For example, one or both of those servers may be a conjoinedserver as defined below. Alternatively, or additionally, the secondserver may be more powerful than the first server in terms of speed,storage space, etc. It may be desirable to have the upgrade serverperform the duties of the first server.

In such cases, because the second server assumes the responsibilities ofthe first server, it is necessary to migrate a “profile” (i.e.,low-level hardware identifiers such as media access control (MAC)addresses, Fiber Channel World Wide Names, storage area network (SAN)boot parameters, etc.) of the first server to the second server so thatthe second server can perform in lieu of the first server. However, suchmigration poses various technical difficulties which increase bothmigration time and server downtime.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a perspective view of a profile management system inaccordance with an embodiment of the invention.

FIG. 2 is a block diagram of an enclosure manager of the profilemanagement system of FIG. 1 in accordance with an embodiment of theinvention.

FIG. 3 is a block diagram of the profile management system of FIG. 1 inaccordance with an embodiment of the invention.

FIG. 4 is a flow chart showing an example of a method of profilemanagement in accordance with an embodiment of the invention.

FIG. 5 is a block diagram of the enclosure manager of FIG. 2, shownmanaging a conjoined server and other servers in an enclosure inaccordance with an embodiment of the invention.

FIG. 6 is a block diagram of the profile management system of FIG. 3,shown managing some of the servers in the enclosure of FIG. 5 inaccordance with an embodiment of the invention.

FIG. 7 is a flow chart showing an example of a method of profilemanagement involving at least one conjoined server in accordance with anembodiment of the invention.

DETAILED DESCRIPTION

Certain terms are used throughout the following description and claimsto refer to particular system components. As one skilled in the art willappreciate, computer companies may refer to a component by differentnames. This document does not intend to distinguish between componentsthat differ in name but not function. In the following discussion and inthe claims, the terms “including” and “comprising” are used in anopen-ended fashion, and thus should be interpreted to mean “including,but not limited to . . . ” Also, the term “couple” or “couples” isintended to mean either an indirect, direct, optical or wirelesselectrical connection. Thus, if a first device couples to a seconddevice, that connection may be through a direct or indirect electricalconnection.

As used herein, the term “profile” refers to one or more identifiersassociated with a computer (e.g., a server). More specifically, anidentifier of a computer includes a low-level hardware identifier thatmay, for example, be hard-coded onto the computer. Examples of suchidentifiers include media access control (MAC) addresses, Fiber ChannelWorld Wide Names, storage area network (SAN) boot parameters andcomputer/server serial numbers. A profile associated with a computer mayuniquely identify that computer among a plurality of computers (e.g., ona network). For example, on a network having multiple computers, eachcomputer's MAC address may be different from the MAC addresses of theother computers. Further, a profile associated with a computer mayidentify that computer to software running on that computer. Forexample, a profile associated with a server may include a server serialnumber. Licensing software running on that server may use the serverserial number to identify the server hardware. A profile may beseparated into two or more parts, with each part including one or moreidentifiers.

As used herein, the term “conjoined server” refers to two or moreservers that are directly and/or indirectly connected via optical and/orwireless electrical connection(s) such that those servers are configuredto act as a single server on a network. For example, the connectedservers are configured to host or run a single operating system or asingle operating system instance. Each of the servers that make up orconstitute the conjoined server may include a processor, memory, and/orinput/output device(s). The connected servers that constitute theconjoined server may be adjacent to each other, may be in the sameenclosure and/or may be in different enclosures (which may be indifferent geographic locations).

Described herein are techniques which positively affect the efficiencyof a profile migration from a first server (e.g., a failed server or aserver with outdated technology) to a second server (e.g., a backupserver or a server with upgraded technology). More specifically, thetechniques disclosed herein enable a network administrator or othernetwork authority to transfer a profile—including one or more GloballyUnique Identifiers (GUIDs)—from a first server to a second server,thereby enabling the second server to assume the duties of the firstserver with reduced or minimal server downtime.

FIG. 1 shows an example of a profile management system 100, which may beassociated with an electronic device container 101. The container may,for example, have a cuboidal shape and may be composed of metal,plastic, fiberglass and/or any other suitable material. Container 101may include a server rack. The container may include one or moreenclosures 102 a-102 f. Each enclosure may be capable of storing one ormore electronic devices 104 (e.g., blade servers, switches, powersupplies). The electronic devices may be controlled by one or moreenclosure managers 106. Each enclosure may have its own enclosuremanager 106 which manages electronic devices 104 in that enclosure, asshown in FIG. 1. Container 101 may alternatively have a single enclosuremanager which manages some or all electronic devices in the container.The container may alternatively have a primary enclosure manager thatmanages secondary enclosure managers which, in turn, manage theelectronic devices. Other management techniques also are possible andare within the scope of this disclosure. Although not specificallyshown, each enclosure manager may include circuit logic including aprocessor, memory (e.g., random access memory (RAM), non-volatile memory(NVM)), etc. In addition to enclosure managers 106 and electronicdevices 104, one or more power supplies 108 may be included in thecontainer. Such power supplies may convert alternating current (AC)power to one or more suitable direct current (DC) voltages for thevarious electronic devices and enclosures. The enclosure manager may beconfigured to manage distribution of power from the power supplies tothe electronic devices.

FIG. 2 shows an illustrative block diagram of an enclosure 102. Aspreviously explained, the enclosure may include an enclosure manager 106of the profile management system. In the example of FIG. 2, enclosure102 may further include a server 204 having a port 206, a server 208having a port 210, and one or more additional servers 212 having ports214. Although the techniques disclosed herein are discussed in terms oftwo servers housed within a common enclosure 102, the scope of thisdisclosure also encompasses embodiments in which these techniques may bemodified for multiple servers of any suitable type(s) housed within thesame or different enclosures. Further, the scope of this disclosureencompasses embodiments in which these techniques may be modified formultiple servers which are housed in different containers 101 and/oreven in different geographic locations (e.g., different locations of acity, state, country or internationally). Ports 206, 210 of servers 204and 208 may enable the servers to communicate with enclosure manager106. Via the ports, the enclosure manager may transfer information toand receive information from servers 204 and 208.

As mentioned, each server in enclosure 102 may include a profile 216.The profile includes one or more low-level hardware identifiers, such asa media access control (MAC) address, a Fiber Channel World Wide Name,storage area network (SAN) boot parameter, serial number, etc. A profilemay uniquely identify the corresponding server in a network. The profilemay include information that identifies the server to other electronicdevices with which the server interacts. The server profiles may betransferable from one server to another.

FIG. 3 shows a profile management system, which may include anadministrator 300, a profile manager 302 and enclosure manager 106.Administrator 300 (e.g., an administrative computer) may couple toprofile manager 302 comprising multiple profiles 303. The profilemanager may include a computer or other suitable circuit logiccontaining NVM in which data structures, such as profiles 303, arestored. Profile manager 302 may be coupled to enclosure manager 106 ofenclosure 102. The enclosure manager may be coupled to servers 204 and208. Server 204 may include a port 206, which may be coupled to aprocessor 304, a NVM 308 and another NVM 310. Server 208 may include aport 210, which couples to a processor 306, a NVM 312 and another NVM314. NVMs 308, 310, 312 and 314 may include, for instance, read-onlymemory (ROM), flash memory, hard disks, optical discs, etc. Although aparticular arrangement of hardware is shown in FIG. 3, the scope of thisdisclosure is not limited to any particular hardware arrangement. Forexample, although NVMs 308 and 310 and NVMs 312 and 314 are shown asbeing separate storage devices, NVMs 308 and 310 may be replaced with asingle NVM. Likewise, NVMs 312 and 314 may be replaced with a singleNVM.

Profile manager 302 may include one or more profiles (e.g., datastructures) 303, each of which may be associated with a differentserver. Servers 204 and 208 each may have a profile that differs fromthe profile of the other server. Administrator 300 may issue commands tothe profile manager whereby profiles 303 are managed. For example, theadministrator may command profile manager 302 to assign a specificprofile 303 to a specific server within enclosure 102.

Profiles may be generated by any suitable technique. For example, aprofile 303 may be generated by administrator 300 and transferred toprofile manager 302. Alternatively, or additionally, a profile may begenerated by the profile manager. Profiles may be generated manually(i.e., with human intervention) or automatically (i.e., without humanintervention) by administrator 300 or by profile manager 302.Additionally, or alternatively, a server may already contain a profilewhen the server is installed in enclosure 102. The profile on theinstalled server may be read by the enclosure manager and a copy of theprofile may be transferred to the profile manager for storage. Althoughparticular profile generation techniques are discussed above, the scopeof the disclosure is not limited to these techniques for profilegeneration.

A generated profile 303 may be assigned to a server by administrator300. The administrator may send a command to profile manager 302 that aspecific profile 303 is to be assigned to server 204. The profilemanager receives the command and may issue a command to the enclosuremanager. The command issued by profile manager 302 to enclosure manager106 may be generated using a specific profile 303 that is to be assignedto server 204. For example, if specific profile 303 includes a MACaddress of 000135288134, an illustrative command sent from profilemanager 302 to enclosure manager 106 may be:

set netport206 PermanentAddress=000135288134This command instructs enclosure manager 106 to set port 206 to anaddress (e.g., a MAC address) of 000135288134. Upon receiving thecommand from profile manager 302, the enclosure manager may read thecommand to determine which server port should receive the command.Because the command is directed to port 206, enclosure manager 106 mayforward the command to port 206, which is associated with server 204.Once received by port 206, processor 304 may execute and/or store thecommand in NVM 308, which in some embodiments includes a memorydedicated to storing received commands. Executing the command may causeprocessor 304 to set the MAC address of port 206 to 000135288134. In atleast some embodiments, a MAC address of port 206 may be set byadjusting a data structure stored in NVM 310. Such a data structure maycontain an entry for addresses or other properties associated with port206, and such an entry may be modified to contain the MAC address000135288134.

When a specific profile 303 is assigned to a server, such as server 204,additional properties besides a MAC address may additionally, oralternatively, be applied to server 204. Such properties include thosedescribed above as being associated with profile 303. Thus, when profile303 is assigned to a server, one or more of the properties or partsassociated with profile 303 may be applied to server 204. A differentprofile may similarly be applied to server 208 and any other servers orelectronic devices that may be present in enclosure 102.

For any of a variety of reasons, a first server may be precluded fromoperating properly (e.g., the server may “fail”). For example, the firstserver may become overheated, may short-circuit, may lose power, maycontract a virus, etc. In some cases, the first server may performduties that need to be transferred to an upgraded, more powerful server.In any such cases, it may be necessary for a second server (e.g., a“backup” server or an “upgraded” server) to assume the duties of thefirst server. The “transfer of duties” from the first server to thesecond server is known as “migration.” Migrating from a first server toa second server may include the transfer of various properties,settings, etc. associated with the first server to the second server. Insome cases, migration requires substantial server downtime. For example,in a business, migration may require the prior authorization ofunavailable technical personnel. Likewise, the technical process ofmigration itself may often be tedious and time-consuming. If the firstserver was performing some vital task (e.g., stock trades for astockbroker), even a small amount of server downtime can result in theloss of considerable amounts of revenue. Thus, as described below, aserver failure or a server upgrade request may cause the administratorto transfer the profile of the first server, including one or more GUIDsassociated with the profile, to a second server. In this way, migrationis performed more efficiently than in other systems.

If server 204 fails, enclosure manager 106 may detect the failure, atleast in part, because failed server 204 will cease to respond tocommunications from enclosure manager 106. Upon detecting that server204 has failed, the enclosure manager may send a notification toadministrator 300 by way of profile manager 302. The notification may behandled by the administrator in various ways. If the administrator isbeing controlled by a human entity, a visual and/or audio message may bedisplayed or played for the user, and the user may take appropriatemeasures. Other failure detection techniques also may be used.

Upon determining that server 204 has failed, administrator 300 mayrespond by sending a command to profile manager 302. The command sent tothe profile manager may instruct the profile manager to restore theprofile of failed server 204 to its factory-default profile, apreviously assigned profile, or a newly generated profile, or mayinstruct the profile manager to change the profile of server 204 to somepredetermined profile intended to be assigned to failed servers. Thecommand also may instruct profile manager 302 to assign the profilepreviously associated with server 204 at the time of failure to backupserver 208. If a server having a profile is moved from one enclosure toa new (i.e., different) enclosure, that server's profile may be replacedwith a default, predetermined profile. Alternatively, the enclosuremanager of the new enclosure may perform this profile replacement.

Upon receiving a command from administrator 300, profile manager 302 mayadjust its data structure(s) (e.g., profiles 303) to reflect that theprofiles assigned to failed server 204 and backup server 208 have beenchanged as described above. If backup server 208 already had anassociated profile before assuming the profile of failed server 204,that associated profile may be stored elsewhere (e.g., on profilemanager 302) for possible future use.

In addition to adjusting its data structures, profile manager 302 mayissue commands to enclosure manager 106. One of these commands may beused to adjust the profile associated with failed server 204 and theother command may be used to adjust the profile associated with backupserver 208. More specifically, enclosure manager 106 may receive thecommands and, in turn, may issue commands to the failed and backupservers to adjust the MAC addresses associated with each of the servers.For example, the enclosure manager may issue the string commands:

set netport206 PermanentAddress=000000000000which is sent to port 206 of failed server 204, andset netport210 PermanentAddress=000135228134which is sent to port 210 of backup server 208. The string command sentto port 206 of failed server 204 may cause server 204 to adjust the datastructure stored in NVM 310 so that the MAC address associated withfailed server 204 is 000000000000. The MAC address 000000000000 is usedfor illustrative purposes and another MAC address more suitable for aparticular implementation may be used instead. The string command sentto port 210 of backup server 208 may cause server 208 to adjust its MACaddress to be 000135228134, which was the MAC address of failed server204 at the time of failure.

More specifically, the “set netport210” command from enclosure manager106 may be provided to processor 306 and/or stored to NVM 312, which mayinclude a memory dedicated to storing commands from enclosure manager106. Processor 306, upon executing the command, may adjust a datastructure stored in NVM 314, which associates port 210 with a MACaddress. Thus, the data structure in NVM 314 may be adjusted toassociate port 210 with the MAC address 000135228134. Other profileproperties formerly associated with failed server 204 also may beapplied to server 208 as instructed by administrator 300, profilemanager 302 and/or enclosure manager 106. Any previous profile dataassociated with backup server 208 may be overwritten by the new profiledata from failed server 204. The previous profile data of backup server208 may be transferred to storage in backup server 208 for future useprior to being overwritten by the new profile data.

In this way, a profile (i.e., one or more GUIDs) formerly associatedwith failed server 204 may be assigned to backup server 208. Becausebackup server 208 is associated with GUID(s) formerly associated withfailed server 204, any privileges failed server 204 had to certaindevices, resources, etc., as well as any communications that would havepreviously been sent to failed server 204 by enclosure manager 106, arenow provided to server 208. This is, at least in part, because, amongthe servers in enclosure 102, the GUID(s) are unique to server 208.Stated otherwise, no active (i.e., properly functioning) and/or inactiveelectronic device that is communicably coupled with server 208 (e.g.,within an enclosure and/or within a network) is associated with the sameGUID(s) as server 208. Failed server 204 may adjust its profile(including its MAC address and other GUID(s), if any) in a mannersimilar to that by which server 208 may adjust the profile of server208. It is assumed that server 204, despite failure, is still able toadjust the profile of server 204. After a profile is migrated from thefailed server to the backup server, that profile may be described to beno longer associated (or free from being associated) with the failedserver and/or uniquely identifying the backup server on the network.

The migration of profiles as described herein may apply acrossgeographical boundaries. For example, a failed server may be included inone enclosure 102 (e.g., in the United States) and a backup server maybe included in a different enclosure (e.g., in China). Theinfrastructure described above may be modified as needed to migrate theprofile of the failed server in the United States to the backup serverin China. For example, profile manager 302 may have access to aninternational network which includes both enclosure 102 and theenclosure in China. In this way, profile manager 302 may communicatewith the enclosure manager of each enclosure and thus may migrate theprofile of the failed server to a backup server in a differentgeographical location. The GUID(s) of the profile migrated from theserver in the U.S. to the server in China is unique within theinternational network. Stated otherwise, any GUID(s) migrated from thefailed server to the backup server are not associated with any otheractive and/or inactive server(s) or electronic devices on the samenetwork as the failed server and/or backup server. In this way,profile/GUID duplication is avoided.

FIG. 4 shows a flow diagram showing an example of a method of profilemanagement in accordance with an embodiment of the disclosure. WhileFIG. 4 shows illustrative steps of a method according to one example,other examples may omit, add to, and/or modify any of the steps shown inthat figure. A request may be sent from an administrator to a profilemanager to assign a profile to a primary server, at 402. The profilemanager may update its profile data structure(s), at 403, and may sendan instruction string from the profile manager to an enclosure managerassociated with the primary server, at 404. The instruction string maybe forwarded to the primary server, at 406. The primary server mayexecute the string and assume a profile associated with one or moreGUIDs, at 408.

A determination of whether the primary server has failed may be made, at410. If the primary server has failed, the administrator may send both arequest to the profile manager to change the profile of the primaryserver and a request to the profile manager to migrate the profile ofthe primary server to the backup server, at 412. The profile manager mayreceive the requests and may adjust its profile data structure(s)accordingly, at 414. The profile manager may generate and transferstring commands to the enclosure manager, at 416. The enclosure managermay receive the string commands and distributes the string commandsaccording to the destinations indicated in the commands, at 418. Morespecifically, the string command intended for the primary server may betransferred to the primary server and the string command intended forthe secondary server may be transferred to the secondary server.

The processor of the primary server may execute the received stringcommand and assume its replacement profile, at 420. As described above,the profile of the primary server may be changed to a factory defaultprofile, a previously assigned profile, a newly generated profile, orsome predetermined profile used specifically for failed servers. Theprocessor of the secondary server may execute its received stringcommand and assume the profile migrated from the failed server, at 422.In this way, one or more GUIDs previously associated with the failedserver are migrated to the backup server. As described above, theprofile of the primary server may be changed to a factory defaultprofile, a previously assigned profile, a newly generated profile orsome predetermined profile used specifically for failed servers.

Profile management system 100 may be configured to manage the profilesof any suitable type(s) of servers. For example, FIG. 5 is a blockdiagram of enclosure 102, generally indicated at 502. Enclosure 502 mayinclude an enclosure manager 506, a conjoined server 508, a server 510,and servers 512. Enclosure manager 506 may include any suitablestructure configured to manage electronic devices, such as conjoinedserver 508, server 510, and servers 512, in that enclosure. For example,enclosure manager 506 may include the structure described above forenclosure manager 106. Enclosure manager 506 may be part of anotherexample of a profile management system, generally indicated at 500 inFIG. 6 and further described below. Unless otherwise specified, profilemanagement system 500 may include one or more components and/or one ormore functions of profile management system 100 of FIG. 1, and/orvice-versa.

Enclosure manager 506 may perform any suitable types of managementoperations. For example, the enclosure manager may be configured to readcommands from a profile manager and/or an administrator, and forwardthose commands to the appropriate server(s), as described above.

Additionally, enclosure manager 506 may be configured to managedistribution of power to conjoined server 508, server 510, and/orservers 512. For example, conjoined server 508, server 510, and/orservers 512 may be configured to request permission to power-on (such asvia a low-power processor that runs on auxiliary power) from theenclosure manager. Suitable limits may include an arbitrary limit set bya user or the actual power available based on the number and type ofpower supply modules currently installed and/or operating in enclosure502. Enclosure manager 506 may limit power consumption of enclosure 502to any suitable limit(s) by acting on those requests appropriately. Forexample, the enclosure manager may grant or deny the power-on request.Additionally, enclosure manager 506 may provide a busy indication thatdenies the power-on request but allows the requesting server to requestpermission to power-on in a short period of time, such as a few seconds.

Enclosure manager 506 may additionally be configured to receivepower-hold requests or instructions from a profile manager and/or anadministrator and to deny power-on requests until the power-hold requestis released. For example, the enclosure manager may deny power-onrequests from server 508, server 510, and/or servers 512 until after aprofile manager assigns profiles and/or parts of profiles to one or moreof those servers.

Conjoined server 508 may include servers 514 and 516 that are directlyor indirectly connected at 518 such that both servers are configured toact as a single server on a network. For example, servers 514 and 516may be configured to host or run a single operating system or a singleoperating system instance. Server 514 may include a port 520, whileserver 516 may include a port 522. Conjoined server 508 may include aprofile 524, while server 514 may include a profile 526 and server 516may include a profile 527. Profile 526 may include a part of profile524, while profile 527 may include another part of profile 524.

Server 510 may include a port 526 and a profile 528, while servers 512may include ports 528 and profiles 529. Profiles 524, 526, 527, 528 and529 may include one or more low-level hardware identifiers, such as amedia access control address, a Fiber Channel World Wide Name, serialnumber, storage area network boot parameter, etc., as discussed forprofile 216 above. A profile may uniquely identify the correspondingserver and may be transferable from one server to another.

FIG. 6 shows profile management system 500. That system may include anadministrator 530, a profile manager 532 and enclosure 502. As discussedabove, enclosure 502 may include enclosure manager 506, conjoined server508 (with server 514 and 516) and server 510. Although servers 512 arenot shown to be included in enclosure 502 of FIG. 6, those servers areunderstood to be included in enclosure 502. Server 514 may include aprocessor 536 and NVMs 538 and 540, which may be coupled to port 520.Similarly, server 516 may include a processor 542 and NVMs 544 and 546,which may be coupled to port 522. Server 510 may include a processor 548and NVMs 550 and 552, which may be coupled to port 526. The NVMs mayinclude any suitable structure, such as the structure described abovefor NVMs 308, 310, 312 and 314. Although servers 514 and 516 are shownto include two NVMs each, one or both servers may include less or moreNVMs, such as one, three, or four NVMs.

Administrator 530 may include any suitable structure coupled to theprofile manager and configured to issue commands to the profile manager,such as an administrative computer. For example, the administrator mayissue one or more commands instructing the profile manager to migrateone or more profiles.

Profile manager 532 may include any suitable structure configured tomanage a plurality of profiles (with each profile uniquely identifying aserver on the network), such as the structure described above. Theprofiles managed by profile manager 532 may be generated by any suitabletechnique(s), including the techniques described above. Profile manager532 may be configured to manage the profiles in any suitable way(s). Forexample, the profile manager may be configured to assign or associateprofiles to conjoined server 508 and server 510, such as after receivingone or more commands from the administrator instructing suchassignments.

Profile manager 532 may receive the commands and determine if one ormore of those commands involve conjoined server(s). If a conjoinedserver is involved, the profile manager may be configured to determinewhich part(s) of a profile to be assigned goes to each server of aconjoined server, and to issue commands to enclosure manager 502accordingly. For example, if a profile 524 is to be assigned toconjoined server 508, profile manager 532 may be configured to determinea part of profile 524 that is to be assigned to profile 526 of server514, and another part of profile 524 that is to be assigned to profile527 of server 516, and to issue commands to enclosure manager 502 toassign those parts to the profiles of those servers. Additionally, aprofile 528 may be assigned to server 510.

The profile manager may be configured to determine how to distributeidentifiers or properties of profile 524 between profiles 526 and 527based on any suitable criteria. For example, the profile manager maymake that determination based on which server of the conjoined server isconfigured to run an operating system for the conjoined server and/orconfigured to export the conjoined server's user interface for anadministrator to use. If server 514 is configured to run an operatingsystem for conjoined server 508, profile manager 532 may include one ormore identifiers associated with the conjoined server in profile 526.Those identifiers may include, for example, a serial number of conjoinedserver 508. Alternatively, if server 516 is configured to run theoperating system, then those identifiers may be included in profile 527.

Additionally, or alternatively, profile manager 532 may determine how todistribute identifiers of profile 524 between profiles 526 and 527 basedon the number and type of ports that servers 514 and 516 have. Thoseidentifiers may include, for example, Ethernet entries (such as MACaddresses), Fiber Channel entries (such as WWNs), etc. The profilemanager may distribute the identifiers equally across profiles 526 and527. For example, the profile manager may distribute identifiers relatedto Ethernet I/O devices evenly across profiles 526 and 527 such thatthere is a balanced number of Ethernet ports used across servers 514 and516. Alternatively, profile manager 532 may distribute the identifiersto one part before distributing to the other part and/or any othersuitable method of distribution. For example, the profile manager maydistribute identifiers related to Fiber Channel I/O devices acrossprofiles 526 and 527 such that all of the Fiber Channel ports of server514 are used before using those ports of server 516, or vice-versa.

Although conjoined server 508 is comprised of servers 514 and 516 thatare associated with profiles 526 and 527, respectively, administrator530 is not aware that conjoined server 508 is comprised of those serversand that profile 524 of that conjoined server is divided into differentparts/profiles. Thus, administrator 530 may manage conjoined server 508similar to other non-conjoined servers.

Once the profile manager determines how to distribute identifiers ofprofile 524 between profiles 526 and 527, it may send one or morecommands to the enclosure manager to associate profile 526 with server514 and associate profile 527 with server 516. The commands may includeany suitable commands, such as the string commands described above. Theenclosure manager may read the commands and forward the commands to theappropriate server(s). The processors of those servers may execute thereceived commands and assumes the assigned profile.

Profile manager 532 may be configured to migrate a profile from server510 to conjoined server 508, or from conjoined server 508 to server 510,such as responsive to a command from the administrator. For example,when profile 528 of server 510 needs to be migrated to conjoined server508, profile manager 532 may determine which part(s) of profile 528should be included in profile 526 to be associated with server 514, andwhich part(s) of profile 528 should be included in profile 527 to beassociated with server 516. The profile manager may issue commands toenclosure manager 506 to assign profile 526 to server 514 and to assignprofile 527 to server 516. Profile manager 532 may additionally issuecommands to enclosure manager 506 to assign a different profile toserver 510.

Alternatively, when profile 524 of conjoined server 508 needs to bemigrated to server 510, profile manager 532 may issue commands toenclosure manager 506 to assign profile 524 to server 510. Additionally,the profile manager may determine a first part of a different profile toassign server 514 and another part of the different profile to assignserver 516. Although FIG. 6 shows profile management system 500configured to manage a server and a conjoined server, the profilemanagement system may alternatively, or additionally, be configured tomanage two or more conjoined servers and/or two or more other servers.For example, the profile management system may be configured to managetwo, three, or four conjoined servers and/or two, three, or four otherservers. Additionally, although the conjoined server is shown to includetwo connected servers, the conjoined server may include three, four,five or more connected servers.

Before profiles are assigned, profile manager 532 may be configured toinstruct the enclosure manager to deny power-on requests from servers510, 514 and 516 until after the profile manager and/or enclosuremanager assigns profiles (or parts of profiles) to those servers. Forexample, profile manager 532 may instruct the enclosure manager to placea power hold on one or more of the servers during the migration.Enclosure manager 506 may provide the requesting server a busyindication until the profile manager releases the power hold for thatserver.

Profile manager 532 may additionally, or alternatively, be configured tomigrate a profile of a server or conjoined server when that server isdisconnected from the network (such as when the server is beingrepaired, etc.), and to associate a different profile when thedisconnected server is reconnected to the network. For example, theprofile manager may be configured to recognize that the reconnectedserver is connected to the network with previously applied profilesettings but that profile is no longer assigned to it. Profile manager532 may be configured to place a power hold on that reconnected server(so that it does not power on with the settings of the migrated profile)and assign a different profile to the reconnected server. For example,when migrating profile 528 to conjoined server 508, the profile managermay be configured to migrate that profile when one or both of servers514 and 516 are disconnected from the network. Additionally, profilemanager 532 may be configured to associate a part of profile 528 toserver 514 and another part of profile 528 to server 516 when thoseservers are reconnected with the network.

The profile manager may alternatively, or additionally, be configured towait until the affected servers are powered off before migrating aprofile. For example, when migrating profile 524 of conjoined server 508to server 510, profile manager 532 may be configured to wait untilservers 510, 514 and 516 are powered off before providing commands tothe enclosure manager to migrate profile 524. Alternatively, whenmigrating profile 528 of server 510 to conjoined server 508, the profilemanager may be configured to wait until servers 510, 514 and 516 arepowered off before providing commands to the enclosure manager to assigna part of profile 528 to server 514 and another part of profile 528 toserver 516.

FIG. 7 shows an example of a method, which is generally indicated at600, of profile management on a network, the network including a firstserver associated with a first profile that uniquely identifies theserver on the network, and a second server coupled to the first server,at least one of the first and second servers being a conjoined server.While FIG. 7 shows illustrative steps of a method according to oneexample, other examples may omit, add to, and/or modify any of the stepsshown in that figure.

As illustrated in FIG. 7, the method may include associating a secondprofile with the first server instead of the first profile, the secondprofile being different from the first profile, at 602. Where the secondserver is a conjoined server that includes, for example, third andfourth servers, that step may include associating a part of the firstprofile to the third server and another part of the first profile to thefourth server. The first profile may be associated with the secondserver, at 604. Where the first server is a conjoined server thatincludes, for example, fifth and sixth servers, that step may includeassociating a part of the second profile to the fifth server and anotherpart of the second profile to the sixth server.

Any suitable structure may be used to perform one or more steps of theabove method, such as the profile management systems described above.Those systems also may include computer-readable media comprisingcomputer-executable instructions for profile management on a network,the computer-executable instructions being configured to perform one ormore steps of method 600 discussed above.

1. A profile management system for first and second servers on anetwork, comprising: a profile manager configured to manage a firstprofile that uniquely identifies the first server on the network; and anadministrator configured to issue a command to the profile managerinstructing the profile manager to migrate the first profile such thatthe first profile is no longer associated with the first server, andsuch that the first profile uniquely identifies the second server on thenetwork, wherein at least one of the first and second servers is aconjoined server.
 2. The system of claim 1, wherein the second server isa conjoined server that includes third and fourth servers, and theprofile manager is further configured, when migrating the first profile,to assign a part of the first profile to the third server, and to assignanother part of the first profile to the fourth server.
 3. The system ofclaim 2, further comprising an enclosure manager configured to managedistribution of power to the first, third, and fourth servers, theprofile manager further configured, when migrating the first profile, toinstruct the enclosure manager to deny power-on requests from the thirdand fourth servers until after the profile manager assigns the part ofthe first profile to the third server and the another part of the firstprofile to the fourth server.
 4. The system of claim 2, wherein thethird server runs a single operating system instance for the conjoinedserver, and the part of the first profile includes an identifierassociated with the conjoined server.
 5. The system of claim 4, whereinthe identifier includes a serial number of the conjoined server.
 6. Thesystem of claim 2, wherein each of the first, third, and fourth serversincludes a plurality of ports, the part of the first profile includingan identifier for each of two or more ports of the plurality of ports ofthe third server.
 7. The system of claim 6, wherein the identifierincludes a media access control address.
 8. The system of claim 6,wherein the identifier includes a world wide name.
 9. The system ofclaim 1, wherein the profile manager is further configured to associatea second profile different from the first profile to the first serverwhen the first profile is migrated to the second server.
 10. The systemof claim 9, wherein the first server is a conjoined server that includesfifth and sixth servers, and the profile manager is further configuredto associate a part of the second profile to the fifth server andanother part of the second profile to the sixth server when the firstprofile is migrated to the second server.
 11. The system of claim 1,wherein the profile manager is configured to migrate the first profilewhen the first server is disconnected from the network, and to associatea second profile different from the first profile when the first serveris reconnected with the network.
 12. The system of claim 11, wherein thefirst server is a conjoined server that includes fifth and sixthservers, wherein the profile manager is further configured to migratethe first profile when at least one of the fifth and sixth servers isdisconnected from the network, and to associate a part of the secondprofile to the fifth server and another part of the second profile tothe sixth server when the at least one of the fifth and sixth servers isreconnected with the network.
 13. The system of claim 1, wherein theprofile manager is further configured to wait until the first and secondservers are powered off before migrating the first profile to the secondserver.
 14. The system of claim 13, wherein the second server is aconjoined server that includes third and fourth servers, the profilemanager being configured to associate a part of the first profile to thethird server and another part of the first profile to the fourth serverwhen the first, third, and fourth servers are powered off.
 15. Anetwork, comprising: a first server associated with a first profile thatuniquely identifies the first server on the network; a second servercoupled to the first server, wherein at least one of the first andsecond servers is a conjoined server; a profile manager configured tomanage the first profile; and an administrator configured to issue acommand to the profile manager instructing the profile manager tomigrate the first profile such that the first profile is free from beingassociated with the first server, and such that the first profileuniquely identifies the second server on the network.
 16. The network ofclaim 15, wherein the second server is a conjoined server that includesthird and fourth servers, and the profile manager is further configured,when migrating the first profile, to assign a part of the first profileto the third server, and to assign another part of the first profile tothe fourth server.
 17. The system of claim 16, wherein the first serveris a conjoined server that includes fifth and sixth servers, and theprofile manager is further configured to associate a part of a secondprofile to the fifth server, and another part of the second profile tothe sixth server when the first profile is migrated to the secondserver, the second profile being different from the first profile.
 18. Amethod of profile management on a network, the network including a firstserver associated with a first profile that uniquely identifies theserver on the network, and a second server coupled to the first server,at least one of the first and second servers being a conjoined server,comprising: associating a second profile with the first server insteadof the first profile, the second profile being different from the firstprofile; associating the first profile with the second server.
 19. Themethod of claim 18, where the second server is a conjoined server thatincludes third and fourth servers, and wherein associating the firstprofile with the second server includes associating a part of the firstprofile to the third server and another part of the first profile to thefourth server.
 20. The method of claim 19, where the first server is aconjoined server that includes fifth and sixth servers, and whereinassociating a second profile with the first server includes associatinga part of the second profile to the fifth server and another part of thesecond profile to the sixth server.